chore(deps): update dependency react-router to v8 [security]#480
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update dependency react-router to v8 [security]#480renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/npm-react-router-vulnerability
branch
4 times, most recently
from
July 25, 2026 08:50
681897f to
a6360b4
Compare
renovate
Bot
force-pushed
the
renovate/npm-react-router-vulnerability
branch
from
July 25, 2026 13:26
a6360b4 to
2827499
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^7.15.1→^8.3.0React Router: RSC Mode CSRF Bypass Allows Action Execution Before 400 Response
GHSA-qwww-vcr4-c8h2
More information
Details
This is a follow up to CVE-2026-22030 to address related CSRF flows in unstable RSC code paths.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
React Router: Arbitrary Constructor Injection via deserializeErrors() in React Router SSR Hydration
CVE-2026-53666 / GHSA-337j-9hxr-rhxg
More information
Details
If application code allows attacker supplied input to overwrite certain aspects of errors caught by the SSR process, then it was possible for attacker to trigger unexpected constructor execution on the client which would trigger outbound network traffic. This is only possible with very specific (and unlikely) application layer code.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
React Router: RSCErrorHandler Missing Protocol Validation (XSS)
CVE-2026-53667 / GHSA-h8fp-f39c-q6mh
More information
Details
This is a follow up to GHSA-8646-j5j9-6r62. React Router was alerted of a code path in the (unstable) RSC error handling path in which redirects from untrusted sources could still result in an XSS vector via attacker-supplied redirect targets
Severity
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
React Router: Open redirect via backslash in and useNavigate (CVE-2025-68470 bypass)
CVE-2026-53669 / GHSA-wrjc-x8rr-h8h6
More information
Details
This is a follow up to CVE-2025-68470. React Router was alerted to certain scenarios in which the fix there was incomplete so there still existed some scenarios where attacker supplied paths passed to navigation mechanisms could result in unexpected external navigations.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:N/SC:L/SI:L/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
React Router: Unauthenticated Denial of Service via Inefficient Route Matching
CVE-2026-55685 / GHSA-chx6-hx7r-mcp5
More information
Details
This is a follow up to GHSA-8x6r-g9mw-2r78 that covers additional reported scenarios in which the manifest endpoint could be accessed via unauthenticated targeted requests that would put heavy load on the server and slow down response times.
Severity
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:NReferences
This data is provided by the GitHub Advisory Database (CC-BY 4.0).
Release Notes
remix-run/react-router (react-router)
v8.3.0Compare Source
Patch Changes
href/generatePathper RFC 3986 path-segment rules instead ofencodeURIComponent(#15310)$ & + , ; = : @​— RFC 3986pchar) are no longer percent-encoded, so values like a semver build1.0.0+1interpolate unchanged instead of becoming1.0.0%2B1/ ? # %, whitespace, non-ASCII) are still escaped exactly as beforecrypto.randomUUID()forcreateMemorySessionStoragesession ids (#15302)createMemorySessionStorageis only intended for local development and testing - sessions are lost when the server restartsNavLinknot applying itspendingstate whentohas a trailing slash (#15300)clientLoadercan skip unnecessary server requests once their components have rendered while still fetching missing server-rendered elements (#15323)TypeError: Invalid state: Unable to enqueue) when a request is aborted while the RSC HTML stream has a pending flush (#15286)injectRSCPayloadreadable side, clear the pending flush, and cancel the underlying RSC payload streamUnstable Changes
Migration
Apps using the default RSC Framework entry do not need to make any changes. Apps with a custom
entry.rsc.tsxshould import the generated client version and pass it tounstable_matchRSCServerRequest:Add CSP nonce support to RSC document rendering (#15320)
nonceoptions tounstable_routeRSCServerRequestandunstable_RSCStaticRouterTo adopt nonce-based CSP, update your
entry.ssr.tsx(runreact-router reveal entry.ssrfirst in RSC Framework Mode) to generate a fresh nonce for each request. Pass it torouteRSCServerRequest, spread therenderHTMLoptions into React's HTML renderer, passoptions.noncetoRSCStaticRouter, and use the same nonce in theContent-Security-Policyresponse header:v8.2.0Compare Source
Patch Changes
href()to properly stringify and URL-encode param values, matchinggeneratePath()(#15277)/school?/user/:id), the internal regex's incorrectly shifted parameter indices resulting in incorrect parameter extraction/one?/two?) were only partially handled/sitemap.xmland outrank them based on definition orderv8.1.0Compare Source
Minor Changes
v8.0.1Compare Source
Patch Changes
AppLoadContexttype export accidentally left over from v7 now that middleware is always enabled and server request context is provided throughRouterContextProvider. (#15207)v8.0.0Compare Source
Major Changes
future.v8_trailingSlashAwareDataRequestsflag (#15100)tsconfig.jsontarget/libfromES2020 -> ES2022(591853e)packages/to ESM-only. (#14895) (59ebcf1)dataparameter in favor ofloaderDataformetaAPIs (to align withRoute.ComponentProps) (#14931)Route.MetaArgs,Route.MetaMatch,MetaArgs,MetaMatch,Route.ComponentProps.matches,UIMatchfuture.v8_passThroughRequestsflag - the raw incomingrequestis now always passed through toloader/action. Useurlfor the normalized URL without React Router-specific implementation details (.datasuffixes,index/_routessearch params). (#15079)hasErrorBoundaryfield added torouter.routeswhen using a data router (#15074)ErrorBoundaryorerrorElementon your routehasErrorBoundaryis no longer accepted onRouteObject(IndexRouteObject/NonIndexRouteObject),DataRouteObject,<Route>JSX props, or as a key inlazyroute definitions.MapRoutePropertiesFunctionsignature no longer requires returninghasErrorBoundary; the router infers it directly.react-router-dompackage (#15076)react-router/domreact-router-domwas kept around as a convenience so existing v6 app imports would still workreact-router-domimports:RouterProvider/HydratedRoutershould be imported fromreact-router/domreact-routerfuture.v8_middlewareflag — middleware is always enabled in v8 (#15078)future.v8_middlewareflag has been removed; middleware is now always enabledcontextparameter passed toloader,action, andmiddlewarefunctions is always aRouterContextProviderinstancegetLoadContextfunctions in custom servers must return aRouterContextProvider— returning a plain object is no longer supportedMiddlewareEnabledtype (previously exported asUNSAFE_MiddlewareEnabled) has been removed since the conditional it gated is now unconditionalFuturemodule augmentation pattern (interface Future { v8_middleware: true }) is no longer needed to typecontextin Data ModeMinor Changes
cookiefrom^1.0.1to^1.1.1set-cookie-parserfrom^2.6.0to^3.1.0Patch Changes
onSubmittype override fromSharedFormPropsto fix deprecation warning with@types/react@19.x(#14932) (59ebcf1)tsuptotsdown. Published package entry points and public APIs are unchanged. (#15092)v7.18.1: v7.18.1Compare Source
See the changelog for release notes: https://github.com/remix-run/react-router/blob/v7/CHANGELOG.md#v7181
v7.18.0Compare Source
Patch Changes
ssr: falseandfuture.v8_trailingSlashAwareDataRequests: true. Avoids false positive "SPA Mode" detection when serving prerendered paths (#15173)ServerRouternonce for nonce-aware SSR components when they don't provide their own value so strict CSP pages can load them. (#15170)turbo-streamto serialize and deserialize Framework Mode hydration errors (#15175)v7.17.0Compare Source
Minor Changes
Ship a subset of the official documentation inside the
react-routerpackage (#15121)node_modules/react-router/docs, letting AI coding agents and the React Router agent skills read official docs locallyapi/),community/content, and tutorials (tutorials/)v7.16.0Compare Source
Minor Changes
future.unstable_trailingSlashAwareDataRequestsasfuture.v8_trailingSlashAwareDataRequests(#15098)Patch Changes
Disable manifest path when lazy route dicovery is disabled (#15068)
Fix browser URL creation to use the configured history window instead of the global window. (#15066)
createBrowserURLImplso custom window contexts keep the correct URL origin.Fix
useNavigation()return type to preserve discriminated union across navigation states (#15095)Widen
MetaDescriptorscript:ld+jsontype fromLdJsonObjecttoLdJsonObject | LdJsonObject[]to permit multiple JSON-LD schemas in a single<script type="application/ld+json">tag emitted by<Meta />(#15082)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.